home *** CD-ROM | disk | FTP | other *** search
/ PsL Monthly 1993 December / PSL Monthly Shareware CD-ROM (December 1993).iso / prgmming / dos / pascal / exarray.com / XGLOBALS.PAS < prev    next >
Encoding:
Pascal/Delphi Source File  |  1989-08-17  |  1.2 KB  |  72 lines

  1. Unit XGlobals;  {Extended Array Globally Useful definitions}
  2.  
  3. INTERFACE
  4.  
  5. Const
  6.   MaxBuff = 7;
  7.  
  8. Type
  9.   Short = String[8];
  10.   Ext   = String[4];
  11.   Name  = String[12];
  12.  
  13.   ManRec = Record
  14.              Tag     : Short;
  15.              Present : Boolean;
  16.              Where   : Word;
  17.            End;
  18.  
  19.   Function Int_To_Short (I : Word) : Short;
  20.   Function Generated_Extension : Ext;
  21.  
  22. IMPLEMENTATION
  23.  
  24. Var
  25.   Extensions : Word;
  26.  
  27. Function Int_To_Short (I : Word) : Short;
  28. Var
  29.   S : Short;
  30.   T : Short;
  31.   J : Word;
  32.   K : Word;
  33. Begin
  34.   J := I;
  35.   S := '';
  36.   If J = 0 Then S := '0';
  37.   While J > 0 do
  38.     Begin
  39.       K := J Mod 10;
  40.       J := (J-K);
  41.       If J <> 0 Then J := J Div 10;
  42.       S := S+Chr(K+Ord('0'))
  43.     End;
  44.   T := '';
  45.   For J := Length(S) downto 1 do T := T+S[J];
  46.   Int_To_Short := T
  47. End;
  48.  
  49. Function Generated_Extension : Ext;
  50. Var
  51.   E : Ext;
  52.   S : Short;
  53.   J : Byte;
  54. Begin
  55.   S := Int_To_Short (Extensions);
  56.   Extensions := Extensions + 1;
  57.   While Length (S) < 3 do S := S+'}';
  58.   E := '';
  59.   E := E + '.';
  60.   J := 1;
  61.   While J <= 3 do
  62.     Begin
  63.       E := E + S[J];
  64.       J := J + 1
  65.     End;
  66.   Generated_Extension := E
  67. End;
  68.  
  69. BEGIN
  70.   Extensions := 0;
  71. END.
  72.